package models

// Config represents the application configuration
type Config struct {
	Server  ServerConfig  `yaml:"server"`
	Libvirt LibvirtConfig `yaml:"libvirt"`
	Logging LoggingConfig `yaml:"logging"`
}

// ServerConfig holds HTTP server settings
type ServerConfig struct {
	Host         string `yaml:"host"`
	Port         int    `yaml:"port"`
	Mode         string `yaml:"mode"` // debug or release
	ReadTimeout  int    `yaml:"read_timeout"`
	WriteTimeout int    `yaml:"write_timeout"`
}

// LibvirtConfig holds libvirt connection settings
type LibvirtConfig struct {
	AutoConnect bool   `yaml:"auto_connect"`
	DefaultURI  string `yaml:"default_uri"`
}

// LoggingConfig holds logging settings
type LoggingConfig struct {
	Level  string `yaml:"level"`  // debug, info, warn, error
	Format string `yaml:"format"` // json or text
}
